Methods and apparatus to verify consumption of programming content

ABSTRACT

Methods and apparatus to verify consumption of media content are disclosed herein. An example method includes populating a data structure stored at a media device with first identifying data associated with media received at the media device in connection with a first content stream and not presented by the media device in real time; determining whether an audience member was exposed to the media in a time-shifted manner by comparing the first identifying data of the data structure stored at the media device to second identifying data obtained from a second content stream received at the media device subsequent to the first content stream; and when the first and second identifying data match, verifying time-shifted exposure of the audience member to the media by sending an index identifier assigned to the media to a data collection facility.

RELATED APPLICATION

This patent arises from a continuation of U.S. patent application Ser.No. 12/580,835, filed Oct. 16, 2009, now U.S. Pat. No. ______, which isa continuation of U.S. patent application Ser. No. 11/608,495, filed onDec. 8, 2006, which is a continuation of International PatentApplication Serial Number PCT/US2004/017879, filed on Jun. 8, 2004. U.S.patent application Ser. No. 12/580,835, U.S. patent application Ser. No.11/608,495 and International Application Serial Number PCT/US2004/017879are hereby incorporated herein by reference in their entireties.

TECHNICAL FIELD

The present disclosure relates generally to verification systems, andmore particularly, to methods and apparatus to verify consumption ofprogramming content.

BACKGROUND

With the advances in today's technology, audience measurement companiesare presented with greater challenges to collect viewing data todetermine viewing habits of viewers. For example, personal videorecorders (PVR) present such a challenge to collect viewing data becausePVRs allow viewers to play back and view programming at a later time(i.e., in a time-shifted manner). Typically, however, methods to collectviewing data depend on the programming being viewed at the time ofbroadcast (i.e., real-time). To illustrate this concept, signatures of aprogram taken at a household are either collected with broadcasttimestamp information or associated with a time at which they werereceived at the household receiver (e.g., a set top box). The signaturesare then compared to either reference signatures having the samebroadcast time stamp or reference signatures that were broadcasted at oraround the same time to identify a match. Comparing broadcast timereduces the amount of signature comparisons that are required toidentify a match. However, PVRs allow viewers to skip programmingcontent such as commercials at their discretion to avoid consumption ofthe programming content. Thus, audience measurement companies areresearching different ways to verify programming content is shown toviewers.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram representation of an example televisionsystem.

FIG. 2 is a block diagram representation of an example programmingcontent verification system.

FIG. 3 is a block diagram representation of an example programmingcontent index that may be used by the example programming contentverification system of FIG. 2.

FIG. 4 is a flow diagram representation of example machine readableinstructions that may be executed to implement the example programmingcontent verification system of FIG. 2.

FIG. 5 is a flow diagram representation of example machine readableinstructions that may be executed to implement a content librarygeneration process of the example programming content verificationsystem of FIG. 2.

FIG. 6 is a flow diagram representation of example machine readableinstructions that may be executed to implement a content identifiercomparison process of the example programming content verificationsystem of FIG. 2.

FIG. 7 is a block diagram representation of an example processor systemthat may be used to implement the example programming contentverification system of FIG. 2.

DETAILED DESCRIPTION

Although the following discloses example systems including, among othercomponents, software executed on hardware, it should be noted that suchsystems are merely illustrative and should not be considered aslimiting. For example, it is contemplated that any or all of thedisclosed hardware and software components could be embodied exclusivelyin dedicated hardware, exclusively in software, exclusively in firmwareor in some combination of hardware, firmware, and/or software.

In addition, while the following disclosure is made with respect toexample television systems, it should be understood that the disclosedsystem is readily applicable to many other media systems. Accordingly,while the following describes example systems and processes, persons ofordinary skill in the art will readily appreciate that the disclosedexamples are not the only way to implement such systems.

In the example of FIG. 1, an example television system 100 including atelevision service provider 110, a television 120, a remote controldevice 125, and a personal video recorder (PVR) 130, is metered using anaudience measurement system. The components of the television system 100may be coupled in any well known manner. The television 120 ispositioned in a viewing area 150 located within a house occupied by oneor more people, referred to as household members 160, all of whom haveagreed to participate in an audience measurement research study. Theviewing area 150 includes the area in which the television 120 islocated and from which the television 120 may be viewed by one or morehousehold members 160 located in the viewing area 150. Based on theviewing of the household members 160, the PVR 130 may be configured tosend viewing data to a data collection facility 180. For example, thePVR 130 may transmit content information such as which programmingcontent was displayed and when it was displayed on the television 120for viewing by the household members 160. The data collection facility180 may be configured to process and store data received from the PVR130.

The television service provider 110 may be implemented using anytelevision service provider such as, for example, a cable televisionservice provider 112, a radio frequency (RF) television service provider114, and/or a satellite television service provider 116. The television120 receives a plurality of television signals transmitted via aplurality of channels by the television service provider 110 and may beadapted to process and display television signals provided in any formatsuch as a National Television Standards Committee (NTSC) televisionsignal format, a high definition television (HDTV) signal format, anAdvanced Television Systems Committee (ATSC) television signal format, aphase alteration line (PAL) television signal format, a digital videobroadcasting (DVB) television signal format, an Association of RadioIndustries and Businesses (ARIB) television signal format, etc. Theuser-operated remote control device 125 allows a user to cause thetelevision 120 to tune to and receive signals transmitted on a desiredchannel, and to cause the television 120 to process and present theprogramming content contained in the signals transmitted on the desiredchannel. The processing performed by the television 120 may include, forexample, extracting a video and/or an audio component delivered via thereceived signal, causing the video component to be displayed on ascreen/display associated with the television 120, and causing the audiocomponent to be emitted by speakers associated with the television 120.The programming content contained in the television signal may include,for example, a television program, a movie, an advertisement, a videogame, and/or a preview of other programming content that is currentlyoffered or will be offered in the future by the television serviceprovider 110.

While the components shown in FIG. 1 are depicted as separate functionalblocks within the television system 100, the functions performed by someof these blocks may be integrated within a single unit or may beimplemented using two or more separate components. For example, althoughthe television 120 and the PVR 130 are depicted as separate functionalblocks, persons of ordinary skill in the art will readily appreciatethat the television 120 and the PVR 130 may be integrated into a singleunit.

In the example of FIG. 2, a programming content verification system 200includes a content provider 210, a broadcast device 220, and a PVR 230.In general, the content provider 210 (e.g., the television serviceprovider 110) provides the PVR 230 with content streams to display onthe broadcast device 220 (e.g., the television 120). The PVR 230includes a content library generator 232, a memory 234, and a comparator236. The content library generator 232 generates a content library 240as described in detail below and stores the content library 240 in thememory 234. Alternatively, the content library generator 232 may storethe content library 240 in a mass storage device 250. Examples of suchmass storage device(s) 250 include floppy disks and drives, hard diskdrives, compact disks and drives, and digital versatile disks (DVD) anddrives. As noted above, the PVR 230 receives content streams from thecontent provider 210. In particular, the comparator 236 extracts abroadcast content identifier associated with programming content from acontent stream currently being broadcasted to the PVR 230. To verifyconsumption of the insertable content, the comparator 236 compares thebroadcast content identifier to the content identifiers previouslystored in the content library 240 and/or the mass storage device 250.

To illustrate the concept of verifying consumption of programmingcontent, a content stream sent to the PVR 230 from the content provider210 may include programming content which is insertable into contentstreams. For example, the insertable content may be an advertisement, aprogram, an interactive television application, and/or an alternateportion of a program. The PVR 230 may receive the insertable content viaan in-band transmission. That is, the insertable content may be mergedwith data of the content stream prior to transmission to the PVR 230.For example, a local advertisement may be inserted into the contentstream of a nationally televised program prior to transmission of thecontent stream to the PVR 230. Thus, the PVR 130 receives the insertablecontent and the content stream from the content provider 210 over thesame link (e.g., same cable).

Alternatively, the insertable content may be sent to the PVR 230 via anout-of-band transmission (i.e., the insertable content is transmittedseparate from the content stream). In particular, the content stream andthe insertable content may be transmitted physically over separate setof wires to the PVR 230. For example, the content stream (e.g., anationally televised program) may be transmitted to the PVR 230 via acable whereas the insertable content (e.g., a local advertisement) maybe transmitted to the PVR 230 via a dial-up modem. In contrast to anin-band transmission of the insertable content (i.e., the insertablecontent is merged with data of the content stream prior to transmissionto the PVR 230), the insertable content of an out-of-band transmissionis merged with data of the content stream at the PVR 230.

To identify the insertable content received via either an in-bandtransmission or an out-of-band transmission, the PVR 230 generates acontent library 240. For example, the content library 240 may be storedlocally in the memory 234 of the PVR 230. As another example, thecontent library 240 may be stored on a remote storage device such as themass storage device 250. If the insertable content is transmitted via anin-band transmission, the PVR 230 extracts the insertable content fromthe content stream and stores the insertable content in the contentlibrary 240. On the other hand, if the insertable content is transmittedvia an out-of-band transmission, the PVR 230 directly stores theinsertable content (i.e., without having to extract the insertablecontent from the content stream). To conserve size of the storagedevices, the PVR 230 (e.g., via the processor 232) may store a portionof the insertable content into the memory 234 and/or the mass storagedevice 250 rather than storing the insertable content in its entirety.Alternatively, the PVR 230 may store a content identifier associatedwith the insertable content to identify the insertable content. Forexample, the content identifier may be an audio signature, a videosignature, an audio code, a digital identifier (e.g., an audiencemeasurement packet, or a cyclical redundancy code (CRC)) and/or a videocode of the insertable content. The PVR 230 may be coupled to a serialdata channel metering attachment as described in, for example, U.S. Pat.No. 5,488,408 entitled “Serial Data Channel Metering Attachment forMetering Channels to which a Receiver is Tuned” and issued on Jan. 30,1996 to identify the content identifier of the insertable content. Thesubject matter of U.S. Pat. No. 5,488,408 is hereby incorporated byreference. In addition to identifying the insertable content using theexamples of content identifier mentioned above, the PVR 230 may useblank frame detection technology as described in, for example,International PCT Patent Application No. PCT/US04/09910 entitled“Methods and Apparatus to Detect a Commercial in a Video BroadcastSignal” and filed on Mar. 29, 2004, to identify a blank image associatedwith the insertable content. The subject matter of International PCTPatent Application No. PCT/US04/09910 is hereby incorporated byreference. Based on the content identifiers stored in the contentlibrary 240, the PVR 230 may verify consumption of programming contentwhen a content stream including the programming content is received bythe PVR 230 as described in detail below.

Further, the PVR 230 may receive a data structure (e.g., the index 300of FIG. 3) from the content provider 210 to identify the insertablecontent as described in detail below. The data structure may be anindex, a list, a table, a database and/or any other suitable dataconfiguration that includes information such as an identifiercorresponding to an insertable content. In the example of FIG. 3, theindex 300 may include index numbers 305 such as index #1 310corresponding to a car commercial 315, index #2 320 corresponding to anairline commercial 325, index #3 330 corresponding to a beveragecommercial 335, index #4 340 corresponding to a football game 345, andindex #5 350 corresponding to local news 355. Thus, the PVR 230 mayidentify a programming content with the index numbers 305 and transmitthe index number corresponding to the programming content to the datacollection facility 180 after verifying consumption of the programmingcontent. The index numbers 305 may be used to indicate which insertablecontent was displayed to viewers.

Because the PVR 230 allow viewers to play back and view programmingcontent in a time-shifted manner and/or skip programming content such asa television advertisement, the PVR 230 measures the actual display ofthe programming content at a later time by storing the contentidentifier associated with the programming content in the contentlibrary 240 upon receipt of the programming content. Thus, the PVR 230may determine whether the programming content was actually displayed(i.e., rather than being skipped) regardless of whether the programmingcontent was viewed either in real-time or in a time-shifted manner.

While the components shown in FIG. 2 are depicted as separate functionalblocks within the programming content verification system 200, thefunctions performed by some of these blocks may be integrated within asingle unit or may be implemented using two or more separate components.For example, although the PVR 230 and the broadcast device 220 aredepicted as separate functional blocks, persons of ordinary skill in theart will readily appreciate that the PVR 230 and the broadcast device220 may be integrated into a single unit.

A flow diagram 400 representing machine readable instructions that maybe executed by a processor (e.g., the processor 1020 of FIG. 7) toverify consumption of programming content is illustrated in FIG. 4.Persons of ordinary skill in the art will appreciate that theinstructions may be implemented in any of many different ways utilizingany of many different programming codes stored on any of manycomputer-readable mediums such as a volatile or nonvolatile memory orother mass storage device (e.g., a floppy disk, a CD, and a DVD). Forexample, the machine readable instructions may be embodied in amachine-readable medium such as an erasable programmable read onlymemory (EPROM), a read only memory (ROM), a random access memory (RAM),a magnetic media, an optical media, and/or any other suitable type ofmedium. Alternatively, the machine readable instructions may be embodiedin a programmable gate array and/or an application specific integratedcircuit (ASIC). Further, although a particular order of actions isillustrated in FIG. 4, persons of ordinary skill in the art willappreciate that these actions can be performed in other temporalsequences. Again, the flow diagram 400 is merely provided and describedin conjunction with the example programming content verification systemof FIGS. 2 and 3 as an example of one way to verify consumption ofprogramming content.

In the example of FIG. 4, the flow diagram 400 begins with the contentlibrary generator 232 generating the content library 240 within thememory 234 (block 410). Alternatively, the content library generator 232may generate the content library 240 within the mass storage device 250.The content library 240 includes at least one content identifierassociated with an insertable content to serve as a reference. Referringto FIG. 4, for example, the content provider 210 adds markers and/orflags in a content stream indicating locations within the content streamwhere insertable contents may be inserted (i.e., the markers and/orflags serve as place holders within the content stream) (block 510). Forexample, a content stream of a nationally televised program may includemarkers and/or flags to indicate where within the content stream that alocal advertisement may be inserted. In another example, a contentstream of a movie may include markers and/or flags to indicate where analternative and/or additional scene may be inserted within the contentstream.

As noted above, the insertable content may be transmitted to the PVR 230via either an in-band transmission or an out-of-band transmission.Accordingly, the content provider 210 determines whether to merge theinsertable content into the content stream (block 520). For an in-bandtransmission of the insertable content, the content provider 210 mergesthe insertable content into the content stream prior to transmission(block 530) so that the insertable content is sent over the same channelas the data of the content stream to the PVR 230 (block 540). Togenerate the content library 240, the PVR 230 extracts a contentidentifier associated with the insertable content from the mergedcontent stream (block 550) and stores the content identifier in thecontent library 240 (block 560). For example, the content identifier maybe an audio signature, a video signature, an audio code, a video code,and/or a portion of the insertable content.

Referring back to block 520, if the content provider 210 decides totransmit the insertable content via an out-of-band transmission, thenthe content stream is transmitted separately from the insertable contentto the PVR 230 (block 570). In particular, the insertable content istransmitted to the PVR 230 via a link separate from the link carryingdata of the content stream. For example, the content stream of thenationally televised program may be transmitted over cable link whereasa local advertisement may be transmitted over a dial-up link. Thecontent provider 210 determines whether to deliver the insertablecontent to the PVR 230 (block 580). If the content provider 210 decidesnot to deliver the insertable content to the PVR 230 then controlsreturn to block 510. Otherwise, the content provider 210 transmits theinsertable content to the PVR 230 separate from the content stream(block 590) so that the PVR 230 may determine whether to merge theinsertable content with data of the content stream. Further, PVR 230 maystore the content identifier associated with the insertable content inthe content library (block 560). As a result, the content library mayinclude a plurality of content identifiers to serve as references whenthe PVR 230 verifies consumption of the insertable content as describedin further detail below.

As noted above, the PVR 230 is configured to receive content streamsfrom the content provider 210. Referring back to FIG. 4, the comparator236 may extract a broadcast content identifier associated withprogramming content from a content stream currently being broadcasted tothe PVR 230 (block 420). To verify consumption of the insertablecontent, the comparator 236 compares the broadcast content identifier tothe content identifiers previously stored in the content library 240(block 430). In the example of FIG. 6, the comparator 236 accesses thecontent identifiers previously stored in the content library 240 (block610) and determines whether the broadcast content identifier matches oneof the content identifiers previously stored in the content library 240(block 620). For example, the comparator 236 may compare an audiosignature, a video signature, an audio code, and/or a video code of anadvertisement to the content identifiers stored in the content library240. In another example, the comparator 236 may compare a portion of aprogram to the content identifiers stored in the content library 240.

As noted above, the PVR 230 includes the index 300 to identify theprogramming content upon detecting a match between the broadcast contentidentifier and at least one content identifier stored in the contentlibrary 240. For example, the PVR 230 may detect that the car commercial315 was consumed by the viewer. Thus, the PVR 230 identifies the carcommercial 315 is index #1 310 and verifies that the insertable contentwas consumed by the viewer. In response to detecting a match between thebroadcast content identifier and at least one content identifier storedin the content library 240, the PVR 230 provides content informationassociated with the insertable content to the data collection facility180 (block 630). In particular, the PVR 230 may provide information suchas which insertable content and when it was displayed to a viewer.Following the example described above, the PVR 230 may transmit index #1310 to the data collection facility 180 to indicate that the carcommercial 315 was consumed. Otherwise if a match is not found, the PVR230 updates and continues to build the content library 240 by storingthe broadcast content identifier in the content library 240 (block 640)so that PVR 230 may verify consumption of programming content of contentstreams received in the future.

As noted above, the PVR 230 is configured to time-shift and/or to skipprogramming content (e.g., a television advertisement). By storing thecontent identifier associated with the programming content in thecontent library 240 upon receipt of the programming content, the PVR 230may measure the actual display of the programming content at a latertime even if the programming content is skipped. Thus, the PVR 230 maycollect viewing data regardless of whether the programming content wasviewed either in real-time or in a time-shifted manner.

While the methods and apparatus disclosed herein are particularly wellsuited for use to verify consumption of content with a PVR, theteachings of the disclosure may be implemented by other electronicdevices such as a VCR without departing from the scope or spiritthereof.

FIG. 7 is a block diagram of an example processor system 1000 adapted toimplement the methods and apparatus disclosed herein. The processorsystem 1000 may be a desktop computer, a laptop computer, a notebookcomputer, a personal digital assistant (PDA), a server, an Internetappliance or any other type of computing device.

The processor system 1000 illustrated in FIG. 7 includes a chipset 1010,which includes a memory controller 1012 and an input/output (I/O)controller 1014. As is well known, a chipset typically provides memoryand I/O management functions, as well as a plurality of general purposeand/or special purpose registers, timers, etc. that are accessible orused by a processor 1020. The processor 1020 is implemented using one ormore processors. The processor 1020 includes a cache 1022, which may beimplemented using a first-level unified cache (L1), a second-levelunified cache (L2), a third-level unified cache (L3), and/or any othersuitable structures to store data as persons of ordinary skill in theart will readily recognize.

As is conventional, the memory controller 1012 performs functions thatenable the processor 1020 to access and communicate with a main memory1030 including a volatile memory 1032 and a non-volatile memory 1034 viaa bus 1040. The volatile memory 1032 may be implemented by SynchronousDynamic Random Access Memory (SDRAM), Dynamic Random Access Memory(DRAM), RAMBUS Dynamic Random Access Memory (RDRAM), and/or any othertype of random access memory device. The non-volatile memory 1034 may beimplemented using flash memory, Read Only Memory (ROM), ElectricallyErasable Programmable Read Only Memory (EEPROM), and/or any otherdesired type of memory device.

The processor system 1000 also includes an interface circuit 1050 thatis coupled to the bus 1040. The interface circuit 1050 may beimplemented using any type of well known interface standard such as anEthernet interface, a universal serial bus (USB), a third generationinput/output interface (3GIO) interface, and/or any other suitable typeof interface.

One or more input devices 1060 are connected to the interface circuit1050. The input device(s) 1060 permit a user to enter data and commandsinto the processor 1020. For example, the input device(s) 1060 may beimplemented by a keyboard, a mouse, a touch-sensitive display, a trackpad, a track ball, an isopoint, and/or a voice recognition system.

One or more output devices 1070 are also connected to the interfacecircuit 1050. For example, the output device(s) 1070 may be implementedby display devices (e.g., a light emitting display (LED), a liquidcrystal display (LCD), a cathode ray tube (CRT) display, a printerand/or speakers). The interface circuit 1050, thus, typically includes,among other things, a graphics driver card.

The processor system 1000 also includes one or more mass storage devices1080 to store software and data. Examples of such mass storage device(s)1080 include floppy disks and drives, hard disk drives, compact disksand drives, and digital versatile disks (DVD) and drives.

The interface circuit 1050 also includes a communication device such asa modem or a network interface card to facilitate exchange of data withexternal computers via a network. The communication link between theprocessor system 1000 and the network may be any type of networkconnection such as an Ethernet connection, a digital subscriber line(DSL), a telephone line, a cellular telephone system, a coaxial cable,etc.

Access to the input device(s) 1060, the output device(s) 1070, the massstorage device(s) 1080 and/or the network is typically controlled by theI/O controller 1014 in a conventional manner. In particular, the I/Ocontroller 1014 performs functions that enable the processor 1020 tocommunicate with the input device(s) 1060, the output device(s) 1070,the mass storage device(s) 1080 and/or the network via the bus 1040 andthe interface circuit 1050.

While the components shown in FIG. 7 are depicted as separate blockswithin the processor system 1000, the functions performed by some ofthese blocks may be integrated within a single semiconductor circuit ormay be implemented using two or more separate integrated circuits. Forexample, although the memory controller 1012 and the I/O controller 1014are depicted as separate blocks within the chipset 1010, persons ofordinary skill in the art will readily appreciate that the memorycontroller 1012 and the I/O controller 1014 may be integrated within asingle semiconductor circuit.

Although certain example methods, apparatus, and articles of manufacturehave been described herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus, and articles of manufacture fairly falling within the scopeof the appended claims either literally or under the doctrine ofequivalents.

What is claimed is:
 1. A method, comprising: populating a data structurestored at a media device with first identifying data associated withmedia received at the media device in connection with a first contentstream and not presented by the media device in real time; determiningwhether an audience member was exposed to the media in a time-shiftedmanner by comparing the first identifying data of the data structurestored at the media device to second identifying data obtained from asecond content stream received at the media device subsequent to thefirst content stream; and when the first and second identifying datamatch, verifying time-shifted exposure of the audience member to themedia by sending an index identifier assigned to the media to a datacollection facility.
 2. A method as defined in claim 1, furthercomprising, when the first and second identifying data do not match,populating the data structure with the second identifying data.
 3. Amethod as defined in claim 1, further comprising, when the first andsecond identifying data match, sending a time at which the media waspresented to the data collection facility.
 4. A method as defined inclaim 1, wherein the index identifier is stored in a second datastructure at the media device.
 5. A method as defined in claim 4,wherein the second data structure is received at the media device from acontent provider.
 6. A method as defined in claim 1, wherein the mediadevice is a personal video recorder in communication with a mediapresentation device.
 7. A method as defined in claim 1, wherein thefirst identifying data comprises at least one of an audio signature, avideo signature, an audio code, a video code, a digital identifier, or aportion of the media.
 8. A tangible computer readable storage device orstorage disc having instructions stored thereon that, when executed,cause a machine to at least: populate data structure stored at a mediadevice with first identifying data associated with media received at themedia device in connection with a first content stream and not presentedby the media device in real time; determine whether an audience memberwas exposed to the media in a time-shifted manner by comparing the firstidentifying data of the data structure stored at the media device tosecond identifying data obtained from a second content stream receivedat the media device subsequent to the first content stream; and when thefirst and second identifying data match, verify time-shifted exposure ofthe audience member to the media by sending an index identifier assignedto the media to a data collection facility.
 9. A tangible computerreadable storage device or storage disc as defined in claim 8, whereinthe instructions cause the machine to, when the first and secondidentifying data do not match, populate the data structure with thesecond identifying data.
 10. A tangible computer readable storage deviceor storage disc as defined in claim 8, wherein the instructions causethe machine to, when the first and second identifying data match,sending a time at which the media was presented to the data collectionfacility.
 11. A tangible computer readable storage device or storagedisc as defined in claim 8, wherein the index identifier is stored in asecond data structure at the media device.
 12. A tangible computerreadable storage device or storage disc as defined in claim 11, whereinthe second data structure is received at the media device from a contentprovider.
 13. A tangible computer readable storage device or storagedisc as defined in claim 8, wherein the media device is a personal videorecorder in communication with a media presentation device.
 14. Atangible computer readable storage device or storage disc as defined inclaim 8, wherein the first identifying data comprises at least one of anaudio signature, a video signature, an audio code, a video code, adigital identifier, or a portion of the media.
 15. A video recorderlocated at a household, comprising: a library generator to populate datastructure stored at a media device with first identifying dataassociated with media received at the media device in connection with afirst content stream and not presented by the media device in real time;a comparator to determine whether an audience member was exposed to themedia in a time-shifted manner by comparing the first identifying dataof the data structure stored at the media device to second identifyingdata obtained from a second content stream received at the media devicesubsequent to the first content stream; and a processor to when thefirst and second identifying data match, verify time-shifted exposure ofthe audience member to the media by sending an index identifier assignedto the media to a data collection facility.
 16. A video recorder asdefined in claim 15, wherein the library generator is to when the firstand second identifying data do not match, populate the data structurewith the second identifying data.
 17. A video recorder as defined inclaim 15, wherein the processor is to, when the first and secondidentifying data match, send a time at which the media was presented tothe data collection facility.
 18. A video recorder as defined in claim15, wherein the index identifier is stored in a second data structure atthe media device.
 19. A video recorder as defined in claim 18, whereinthe second data structure is received at the media device from a contentprovider.
 20. A video recorder as defined in claim 15, wherein the firstidentifying data comprises at least one of an audio signature, a videosignature, an audio code, a video code, a digital identifier, or aportion of the media.